Usage Note 44472: Overwriting a SASĀ® data set in a UNIX operating environment removes any existing ACL
When an existing SAS data set with a defined access control list (ACL) is overwritten in a UNIX operating environment, the ACL is removed. However, the correct ACL is applied to new data sets that are created in a directory defined with ACL inheritance.
The difference in behavior is due to the way that SAS replaces an existing data set. As part of the process, a temporary file is opened and written to. Then, its permissions are changed to match those of the existing file before the temporary file is renamed to replace the existing file. The ACL is lost because of the changing of the permissions on the file.
A new LIBNAME statement option, NOSETPERM, is available beginning with SAS 9.3.
NOSETPERM disables the file permission inheritance, allowing the new data set file to correctly inherit the ACL from the directory in which it is created.
Note that if the permissions are not controlled by an ACL, the new data set might have file permissions that are different from those of the file that it is replacing.
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | N/A | 64-bit Enabled Solaris | 9.2 TS1M0 | 9.3 TS1M0 |
64-bit Enabled AIX | 9.2 TS1M0 | 9.3 TS1M0 |
Linux | 9.2 TS1M0 | 9.3 TS1M0 |
HP-UX IPF | 9.2 TS1M0 | 9.3 TS1M0 |
64-bit Enabled HP-UX | 9.2 TS1M0 | 9.3 TS1M0 |
Linux for x64 | 9.2 TS1M0 | 9.3 TS1M0 |
Solaris for x64 | 9.2 TS1M0 | 9.3 TS1M0 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
When an existing SAS data set with a defined ACL is overwritten in a UNIX operating environment, the ACL is removed.
Date Modified: | 2011-10-13 09:26:48 |
Date Created: | 2011-09-29 13:07:26 |